a. Field of Invention
The invention relates to control systems suitable for use in a wide variety of applications and, more particularly, to a control system for controlling a physical object as a function of its movement.
b. Background of the Invention
Adaptive control is a technique in which a controller adapts to a controlled system having parameters that vary or are uncertain. For example, the mass of an aircraft will decrease in flight as a result of fuel consumption. An adaptive flight control systems can maintain optimum performance of such a system despite the changing conditions. Indeed, adaptive control is suitable for any real-time optimization of a physical device or system (i.e., a “plant”) in which optimal control of the plant is a function of an independent parameter. This includes myriad real-world applications.
Many adaptive controller schema rely on software models that define a system's desired performance, such as for example, model predictive control “MPC.” Model predictive control refers to a class of computer control algorithms that utilize an explicit process model to predict the future response of a plant. At each control interval an MPC algorithm attempts to optimize future plant behavior by computing a sequence of future manipulated variable adjustments. The first input in the optimal sequence is then sent into the plant, and the entire calculation is repeated at subsequent control intervals. United States Patent Application 20100268353 by Crisalle et al. shows systems and methods for predictive control that uses a mathematical model that describes the anticipated future values of the variables. U.S. Pat. No. 7,203,555 to Ogunnaike et al. discloses another MPC which generates a model prediction value (y) indicating how a system parameter of the plant is going to behave.
These and other MPCs rely on a priori information about time-varying parameters and/or a software model and it is consequently not possible for them to provide an accurate model in applications where a priori information does not exist or is not timely available. Under such circumstances, an “extremum seeking” or “peak-seeking” control schema is a more practical approach. Originally developed as a method of adaptive control for hard-to-model systems, peak-seeking controllers use measurements of input and output signals and dynamically search for the optimizing inputs. Thus, peek-seeking controllers optimize a control loop, in real time, to either maximize or minimize a function and do not require an a priori model.
There are various approaches to minimizing or maximizing a function by systematically choosing the values of real or integer variables from within an allowed set and, in general, peak seeking control methods can be divided into three categories: classical-gradient methods, parametric methods and nonlinear methods. Classical-gradient methods estimate the performance function gradient using classical-control techniques in a recursive approach that relies on gradient analysis.
Rudolph Kalman's work on control theory beginning in the late 1950s led to a seminal paper, Kalman, “A New Approach To Linear Filtering And Prediction Problems”, Journal of Basic Engineering 82 (1): 35-45 (1960), and eventual widespread adoption of his Kalman filter in control systems across many diverse industries. The Kalman filter produces estimates of the true values of measurements and their associated calculated values by predicting a value, estimating the uncertainty of the predicted value, and computing a weighted average of the predicted value and the measured value. Specifically, the Kalman approach estimates the state at the current timestep from the previous timestep to produce an estimate of the state. This prediction is then combined with observation information to refine the state estimate. This improved estimate is termed the a posteriori state estimate.
To control simple linear time-invariant systems, Kalman filter are sometimes used in conjunction with controllers to provide system state estimates to the contoller that are more accurate estimates of the system state than the measured or calculated state parameters alone. At a given system state in a time invariant linear system, an applied input will always produce the same output regardless of when it is applied. A linear time invariant state-space system can take the formxk+1=Axk+Buy=Cxkwhere A, B, and C are fixed matrices; x is a state vector; u is the system input; and y is the system output. In contrast, time-varying systems can be described by a set of linear differential equations with time-varying coefficients (where the state space matrices depend on time). In other words, A, B, and C become A(t), B(t), and C(t). The Kalman filter has also been applied to time-varying systems such as, for example, motion control systems. See, Introduction to Kalman Filtering and Its Applications, VI Workshop U.S. Army TACOM, Warren, Mich. (2004), which illustrates various discrete-time (time varying) Kalman filters for linear systems.
A Kalman filter estimates the values of the gradients (slopes) of the function, which estimated gradients are used as input for a controller. Linear constraints are assumed. The feedback loop continues, and states are adjusted until the gradient estimates go to zero. The gradient of the function (f) is defined to be a vector field having components that are the partial derivatives of f. That is:
      ∇    f    =            (                                    ∂            f                                ∂                          x              1                                      ,        …        ⁢                                  ,                              ∂            f                                ∂                          x              n                                          )        .  
The function f is used to compute the predicted state from the previous estimate, and the only input to the Kalman filter is the performance-function f magnitude.
An example of a peak-seeking control solution using a time-invariant Kalman filter is disclosed in D. F. Chichka et al., “Peak-Seeking Control for Drag Reduction in Formation Flight”, AIAA Journal of Guidance, Control, and Dynamics, v. 29, no. 5, pp.1221-1230 (September-October 2006). The Chichka et al. paper proposes peak-seeking control for precise positioning of two aircraft relative to one another in order to minimize drag. The value of the performance function is fed to a time-invariant Kalman filter, which is used to estimate the values of the gradients of the function.
A formation flight instrumentation system for the estimation of the relative position, velocity, and attitude between two moving aircraft using an onboard GPS system an inertial navigation sensor (INS) is disclosed in W. R. Williamson et al., “An Instrumentation System Applied to Formation Flight”, IEEE Transactions on Control System Technology, v. 15, no. 1, pp. 75-85 (January 2007). An extended Kalman filter blends the outputs of each GPS/INS so as to maximize the accuracy of the relative state estimates as required for a control algorithm to reduce formation drag. The W. R. Williamson et al. reference demonstrates the estimation of the relative states of position, velocity and attitude between two moving bodies using GPS and an inertial measurement unit (IMU). Williamson et al. determines the point of maximum drag reduction employing a gradient search. However, there is no provision for measuring the independent parameters of the performance function, nor any algorithm for estimating the vortex or controlling the trailing vehicle to optimize its position relative to the vortex.
It is well-known that twice-differentiable objective functions can be optimized more efficiently by checking the second-order partial derivatives of a function. The matrix of second derivatives (the Hessian matrix) describes the local curvature of a function of many variables. For example, given the functionf(x1, x2, . . . , xn),the Hessian matrix of f is the matrix:
      H    ⁡          (      f      )        =            [                          ⁢                                                                                    ∂                  2                                ⁢                f                                            ∂                                  x                  1                  2                                                                                                                          ∂                  2                                ⁢                f                                                              ∂                                      x                    1                                                                                                                ⁢                                  ∂                                      x                    2                                                                                                                                                          …                                                                                ∂                  2                                ⁢                f                                                              ∂                                      x                    1                                                                                                                ⁢                                  ∂                                      x                    n                                                                                                                                                                                                                          ∂                  2                                ⁢                f                                                              ∂                                      x                    2                                                                                                                ⁢                                  ∂                                      x                    1                                                                                                                                                                                                          ∂                  2                                ⁢                f                                            ∂                                  x                  2                  2                                                                          …                                                                                ∂                  2                                ⁢                f                                                              ∂                                      x                    1                                                                                                                ⁢                                  ∂                                      x                    n                                                                                                                                                                          ⋮                                ⋮                                ⋱                                ⋮                                                                                                ∂                  2                                ⁢                f                                                              ∂                                      x                    n                                                                                                                ⁢                                  ∂                                      x                    1                                                                                                                                                                                                          ∂                  2                                ⁢                f                                                              ∂                                      x                    n                                                                                                                ⁢                                  ∂                                      x                    2                                                                                                                                                          …                                                                                ∂                  2                                ⁢                f                                            ∂                                  x                  n                  2                                                                        ⁢                          ]        .  
Using both Hessians and gradients improve the rate of convergence. See, Schlegel, Estimating The Hessian For Gradient-Type Geometry Optimizations, Theoret. Chim. Acta (Berl) 66, 333-340 (1984). Moase et al. speculates that multivariable extremum-seeking (ES) schemes are possible using both gradient and Hessian, but also notes that the complexity will scale up. W. H. Moase, C. Manzie, and M. J. Brear, Newton-Like Extremum-Seeking Part II: Simulations And Experiments, Conference on Decision and Control, Shanghai (2009). Moase/Manzie also suggests that a fixed-gain Kalman filter (as opposed to a time-varying) Kalman filter can be used, and so their suggestion is implicitly confined to a linear time-invariant Kalman filter.
More often, state values are based on physical considerations that change over time, and a Kalman filter designed for such linear time varying conditions will provide better estimates. What is needed is a system and method for peak-seeking control including both hardware architecture and optimization software, the latter incorporating a linear time-varying Kalman filter to estimate both the performance function gradient (slope) and Hessian (curvature), from measurements of both independent (position measurements) and dependent parameters of the performance-function.